package com.briup.day04;

import java.util.Scanner;
import java.util.StringJoiner;

public class Homework {
    public static void main(String[] args) {
        // 拼接一个格式化的输出数据
        // [学号: 18，年龄: 20，....]
        StringJoiner sj = new StringJoiner("，", "[", "]");
        Scanner sc = new Scanner(System.in);
        // 一直接收输入数据，直到不输入或输入quit为止
        while (sc.hasNext()) {
            // nextLine()方法，一次性接收一行的输入数据，直到读取到回车换行符为止
            // next()方法，也是读取字符串的，但是读取的是单个单词，即读取到" "为止
            String s = sc.nextLine();
            //equalsIgnoreCase比较两个字符串的内容，比较时忽略大小写
            if ("quit".equalsIgnoreCase(s)) {
                break;
            }
            // 拼接数据
            sj.add(s);
        }
        System.out.println("输出结果为：");
        System.out.println(sj.toString());
    }

    private static void test() {
        // 请编写一个Java程序，实现输入一个15以内的正整数，
        //对该正整数进行分解质因数，输出该整数与质因数的等式。
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入15以内的正整数:");
        int num = sc.nextInt();
        if (num > 15 || num < 0) {
            System.out.println("您输入的数据不符合要求!");
        }
        // StringJoiner类，能够实现设定一个字符串模板，对字符串进行拼接
        // 要拼接一个 x * y * z.... 字符串，其中xyz不确定
        StringJoiner sj = new StringJoiner(" * ");
        int index = num;
        // 分解质因数
        for (int i = 2; i <= index; i++) {
            // 要将因数i分解到不可再分为止
            /*while (index % i == 0) {
                // 如果i是因数，那么求取另一个因数，计算另一个因数是否为质因数
                index /= i;
                sj.add(i + "");
            }*/
            // 使用for循环的写法
            for (; index % i == 0; index /= i) {
                sj.add(i + "");
            }
        }
        System.out.println(num + " = " + sj.toString());
    }
}
